]> dgit.raspbian.org Git - gnome-shell.git/commit
status/keyboard: Fix execution order when activating source
authorFlorian Müllner <fmuellner@gnome.org>
Thu, 19 Sep 2024 22:33:29 +0000 (00:33 +0200)
committerMarge Bot <marge-bot@gnome.org>
Tue, 15 Oct 2024 15:06:36 +0000 (15:06 +0000)
commit0a3c12f8d6c21906ae5c2b0677501a2897abdd83
treedaf3013bb8d83f85c871b4e3d70409cde4c7ba8a
parente1068220046e69e1e594fef5e4c61ea82b219abf
status/keyboard: Fix execution order when activating source

When commit ce89b15bb123d made the code async, it did not only
delay releasing the keyboard until after the engine has been
updated, but also the following code that updates the current
input source.

One result is that the current source is now initialized later,
which breaks any code that relies on the source being set.

This affects the login screen in particular (which uses different
`InputSourceSettings` than the regular session): It fails to come
up entirely if the OSK is enabled.

To fix the issue, use a .then() callback to release the keyboard,
instead of blocking all following code with await.

Fixes: ce89b15bb1 ("ibusManager: Use async await instead of callbacks")
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7912
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3476>
js/ui/status/keyboard.js